// 打卡页面主样式
.checkin-container {
  padding: 20rpx;
  background-color: #f5f5f5;
  min-height: 100vh;
  box-sizing: border-box;
}

// 未打卡状态样式
.current-checkin {
  background-color: #fff;
  border-radius: 16rpx;
  padding: 30rpx;
  margin-bottom: 30rpx;
  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
}

.building-info {
  display: flex;
  margin: 30rpx 0;
  gap: 20rpx;

  .building-image {
    width: 200rpx;
    height: 200rpx;
    border-radius: 10rpx;
    object-fit: cover;
  }

  .building-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10rpx;

    .building-name {
      font-size: 32rpx;
      font-weight: bold;
      color: #333;
    }

    .building-scenery,
    .building-address {
      font-size: 26rpx;
      color: #666;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
  }
}

.checkin-form {
  margin-top: 40rpx;

  .form-item {
    margin-bottom: 30rpx;

    .comment-input {
      width: 100%;
      min-height: 150rpx;
      padding: 20rpx;
      border: 2rpx solid #eee;
      border-radius: 10rpx;
      font-size: 28rpx;
      box-sizing: border-box;
    }
  }

  .image-upload {
    margin-bottom: 40rpx;

    .upload-btn {
      display: flex;
      align-items: center;
      gap: 15rpx;
      padding: 20rpx;
      border: 2rpx dashed #ccc;
      border-radius: 10rpx;
      color: #666;
      font-size: 28rpx;
      margin-bottom: 20rpx;
      cursor: pointer;

      .upload-icon {
        width: 40rpx;
        height: 40rpx;
      }
    }

    .image-list {
      display: flex;
      flex-wrap: wrap;
      gap: 20rpx;

      .image-item {
        position: relative;
        width: 160rpx;
        height: 160rpx;
        border-radius: 10rpx;
        overflow: hidden;

        .preview-image {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }

        .delete-btn {
          position: absolute;
          top: -10rpx;
          right: -10rpx;
          width: 40rpx;
          height: 40rpx;
          background-color: rgba(255, 0, 0, 0.8);
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;

          .delete-icon {
            width: 24rpx;
            height: 24rpx;
            tint-color: #fff;
          }
        }
      }
    }
  }

  .checkin-btn {
    width: 100%;
    height: 90rpx;
    line-height: 90rpx;
    background-color: #e63946;
    color: #fff;
    font-size: 32rpx;
    border-radius: 45rpx;
    margin-top: 20rpx;
    border: none;
  }
}

// 已打卡状态样式
.checked-in {
  background-color: #fff;
  border-radius: 16rpx;
  padding: 40rpx 30rpx;
  text-align: center;
  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);

  .success-icon {
    margin: 40rpx 0;

    image {
      width: 200rpx;
      height: 200rpx;
    }
  }

  .success-text {
    font-size: 32rpx;
    color: #333;
    margin-bottom: 50rpx;
    display: block;
  }

  .stamp-section {
    margin: 50rpx 0;

    .stamp-title {
      font-size: 30rpx;
      color: #333;
      margin-bottom: 20rpx;
      display: block;
    }

    .stamp-image {
      width: 300rpx;
      height: 300rpx;
      margin: 0 auto 30rpx;
    }

    .save-stamp-btn {
      background-color: #457b9d;
      color: #fff;
      font-size: 28rpx;
      padding: 15rpx 40rpx;
      border-radius: 30rpx;
      border: none;
    }
  }

  .answer-btn,
  .heatmap-btn,
  .view-history-btn {
    width: 80%;
    height: 90rpx;
    line-height: 90rpx;
    font-size: 32rpx;
    border-radius: 45rpx;
    margin: 15rpx auto;
    display: block;
    border: none;
  }

  .answer-btn {
    background-color: #1d3557;
    color: #fff;
  }

  .heatmap-btn {
    background-color: #a8dadc;
    color: #1d3557;
  }

  .view-history-btn {
    background-color: #f1faee;
    color: #1d3557;
    border: 2rpx solid #1d3557;
  }
}

// 打卡历史样式
.checkin-history {
  background-color: #fff;
  border-radius: 16rpx;
  padding: 30rpx;
  margin-top: 30rpx;
  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);

  .history-list {
    margin: 30rpx 0;
  }

  .checkin-comment {
    font-size: 28rpx;
    color: #666;
    margin-top: 15rpx;
    padding-top: 15rpx;
    border-top: 1rpx solid #eee;

    .answer-result {
      color: #e63946;
      font-size: 26rpx;
      margin-top: 10rpx;
    }
  }

  .close-history-btn {
    width: 100%;
    height: 90rpx;
    line-height: 90rpx;
    background-color: #f1faee;
    color: #1d3557;
    font-size: 32rpx;
    border-radius: 45rpx;
    margin-top: 20rpx;
    border: 2rpx solid #1d3557;
  }
}

// 电子印章弹窗样式
.stamp-modal-content {
  text-align: center;
  padding: 30rpx 0;

  .modal-stamp-image {
    width: 350rpx;
    height: 350rpx;
    margin: 0 auto 20rpx;
  }

  .stamp-desc {
    font-size: 30rpx;
    color: #333;
  }
}

.modal-save-btn {
  background-color: #457b9d;
  color: #fff;
  font-size: 28rpx;
  padding: 15rpx 60rpx;
  border-radius: 30rpx;
  border: none;
}

// 答题弹窗样式
.answer-modal {
  .answer-content {
    padding: 20rpx 0;

    .question-number {
      font-size: 28rpx;
      color: #666;
      margin-bottom: 20rpx;
      text-align: left;
    }

    .question-content {
      font-size: 32rpx;
      color: #333;
      margin-bottom: 30rpx;
      text-align: left;
      line-height: 1.5;
    }

    .options-list {
      display: flex;
      flex-direction: column;
      gap: 15rpx;

      .option-item {
        display: flex;
        align-items: center;
        gap: 15rpx;
        padding: 20rpx;
        border: 2rpx solid #eee;
        border-radius: 10rpx;
        cursor: pointer;
        transition: all 0.3s;

        &:hover {
          background-color: #f5f5f5;
        }

        .option-letter {
          width: 40rpx;
          height: 40rpx;
          border-radius: 50%;
          background-color: #1d3557;
          color: #fff;
          font-size: 26rpx;
          display: flex;
          align-items: center;
          justify-content: center;
        }

        .option-text {
          font-size: 28rpx;
          color: #333;
          flex: 1;
          text-align: left;
        }
      }
    }
  }

  .answer-result {
    text-align: center;
    padding: 30rpx 0;

    .result-icon {
      width: 150rpx;
      height: 150rpx;
      margin-bottom: 20rpx;
    }

    .result-title {
      font-size: 34rpx;
      font-weight: bold;
      color: #333;
      margin-bottom: 15rpx;
      display: block;
    }

    .result-score {
      font-size: 30rpx;
      color: #e63946;
      margin-bottom: 20rpx;
      display: block;
    }

    .result-desc {
      font-size: 28rpx;
      color: #666;
    }
    /* 建筑类型选择样式 */
.building-type-section {
  margin: 30rpx;
  padding: 20rpx;
  background-color: #f5f5f5;
  border-radius: 10rpx;
}

.section-title {
  display: block;
  margin-bottom: 20rpx;
  font-size: 30rpx;
  color: #333;
  font-weight: bold;
}

.type-options {
  display: flex;
  flex-wrap: wrap;
  gap: 15rpx;
}

.type-option {
  padding: 15rpx 25rpx;
  background-color: #fff;
  border: 2rpx solid #ddd;
  border-radius: 30rpx;
  font-size: 26rpx;
  color: #666;
  cursor: pointer;
}

.type-option.selected {
  background-color: #07c160;
  color: #fff;
  border-color: #07c160;
}
/* 位置选择样式 */
.location-section {
  padding: 20rpx;
  margin-bottom: 20rpx;
}

.location-btn {
  width: 100%;
  padding: 20rpx;
  background-color: #007aff;
  color: white;
  border-radius: 8rpx;
  font-size: 32rpx;
}

.location-info {
  margin-top: 15rpx;
  padding: 15rpx;
  background-color: #f5f5f5;
  border-radius: 8rpx;
  font-size: 28rpx;
  color: #666;
}

/* 地图弹窗样式 */
.map-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  z-index: 1000;
}

.map-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20rpx;
  border-bottom: 1px solid #eee;
}

.map-title {
  font-size: 36rpx;
  font-weight: bold;
}

.close-btn {
  padding: 10rpx 20rpx;
  font-size: 30rpx;
  background-color: #f5f5f5;
  color: #333;
}

.map-footer {
  padding: 20rpx;
  border-top: 1px solid #eee;
}

.confirm-btn {
  width: 100%;
  padding: 20rpx;
  background-color: #007aff;
  color: white;
  border-radius: 8rpx;
  font-size: 32rpx;
}
  }
}